package com.example.edianzu.somur.utils.content;

import android.content.Context;
import android.provider.Settings;
import android.telephony.TelephonyManager;

import java.util.Locale;

/**
 * author：风不会停息 on 2017/7/22 18:23
 * mailbox：yh131412hys@163.com
 * project：Somur
 * tel：13295355900
 * describe：
 */

public class PhoneUtils {

    private static volatile PhoneUtils instance=null;
    private Context context;
    private PhoneUtils(Context context){
        this.context = context;
    }
    public static synchronized PhoneUtils getInstance(Context context){
        if(instance==null){
            synchronized(PhoneUtils.class){
                if(instance==null){
                    instance=new PhoneUtils(context);
                }
            }
        }
        return instance;
    }

    /**
     *@author XQY
     *@功能 IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写，
     * TAC + FAC + SNR + SP
     * 1、前6位数(TAC)是"型号核准号码"，一般代表机型。
     *
     * 2、接着的2位数(FAC)是"最后装配号"，一般代表产
    地。
    3、之后的6位数(SNR)是"串号"，一般代表生产顺序
    号。
    4、最后1位数(SP)通常是"0"，为检验码，目前暂备
    用。
     * 国际移动装备辨识码，是由15位数字组成的"电子串号"，
     * 它与每台移动电话机一一对应，而且该码是全世界唯一的。
     * 每一只移动电话机在组装完成后都将被赋予一个全球唯一的一组号码，
     * 这个号码从生产到交付使用都将被制造生产的厂商所记录
     *@时间 2016/12/16 上午8:44
     **/
    public  String getUserPhoneId(){
        TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
        String DEVICE_ID = tm.getDeviceId();
        return DEVICE_ID;
    }

    /**
     *@author XQY
     *@功能 android手机第一次启动时会生成一个android_id,每次重置时又会重新生成
     *@时间 2016/12/16 上午8:44
     **/
    public  String getAndroidId(){
        String ANDROID_ID = Settings.System.getString(context.getContentResolver(), Settings.System.ANDROID_ID);
        if (ANDROID_ID==null){
            String serialNumber = android.os.Build.SERIAL;
            return serialNumber;
        }
        return ANDROID_ID;
    }
    /**
     *@author XQY
     *@function 获取手机系统语言
     *@since  2016/12/25 下午5:39
     *
     **/
    public  String getSystemLanguage() {
        return Locale.getDefault().getLanguage();
    }
}
